// 测试包含虚拟函数及不包含虚拟函数类的内存空间大小

#include <bits/stdc++.h>
using namespace std;

class test_obj{
    public:
        // virtual void a(int a){}
        // virtual void b(int b){}
        // virtual void be(int b){}
        // virtual void bwe(int b){}
        void c(int c){cout << _m << endl;}
        void c(){cout << _m << endl;}
        void d(int d){cout << 2;}
    // private:
        // int _m;
        // char _ch;
        char _m;
};

class test_obj_extern:public test_obj{
    public:
        void c(){cout << _m+10 << endl;}
};
class empty{

};
int main(){
    test_obj test;
    test_obj_extern test_extern;
    test_obj& test_ex = test_extern;
    // int tmp;
    // cin >> tmp;
    // test._m = tmp;
    // test_extern._m = tmp;
    // test.c(1);
    // test_extern.c();
    // test_ex.c();
    // test_extern.d(1);
    cout << sizeof(test_obj) << endl;
    cout << sizeof(test_obj_extern) << endl;
    cout << sizeof(test) << endl;
    cout << sizeof(empty);
}